package com.xnyzc.lhy.finance.entity.invoice;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
*
* 滴滴申请开票及记录（对接AA平台）
*
* @author liuju
* @since 2019-11-20
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OaSysInvoiceDidiApply对象", description="滴滴申请开票及记录（对接AA平台）")
public class OaSysInvoiceDidiApply implements Serializable {

private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value="record_id", type = IdType.INPUT)
    private Long recordId;

    @ApiModelProperty(value = "开票金额，用于校验订单金额是否和预期一致(单位:元)")
    private String invoiceAmount;

    @ApiModelProperty(value = "滴滴方唯一发票编码(蓝票)")
    private String blueInvoiceId;

    @ApiModelProperty(value = "滴滴方红票唯一发票编号")
    private String redInvoiceId;

    @ApiModelProperty(value = "发票抬头")
    private String invoiceTitle;

    @ApiModelProperty(value = "开票类型 1:个人、2：公司")
    private String invoiceType;

    @ApiModelProperty(value = "开票同程订单号, 逗号分隔（时空订单号）")
    private String invoiceOrderIds;

    @ApiModelProperty(value = "用户邮箱地址")
    private String email;

    @ApiModelProperty(value = "纳税人识别号")
    private String customerIdentifier;

    @ApiModelProperty(value = "开票银行")
    private String bankName;

    @ApiModelProperty(value = "银行账户")
    private String bankAccount;

    @ApiModelProperty(value = "	注册地址")
    private String registeAddres;

    @ApiModelProperty(value = "注册手机号（最多13个字符）")
    private String registePhone;

    @ApiModelProperty(value = "发票备注")
    private String invoiceRemark;

    @ApiModelProperty(value = "收件人姓名（最多10个中文字符）")
    private String receiveName;

    @ApiModelProperty(value = "收件人手机号（最多13个字符）")
    private String receiveMobile;

    @ApiModelProperty(value = "蓝票发票代码")
    private String blueInvoiceCode;

    @ApiModelProperty(value = "蓝票发票号码")
    private String blueInvoiceNum;

    @ApiModelProperty(value = "蓝票效验码")
    private String blueVerifyCode;

    @ApiModelProperty(value = "蓝票下载链接")
    private String bluePdfUrl;

    @ApiModelProperty(value = "红票发票代码")
    private String redInvoiceCode;

    @ApiModelProperty(value = "红票发票号码")
    private String redInvoiceNum;

    @ApiModelProperty(value = "红票效验码")
    private String redVerifyCode;

    @ApiModelProperty(value = "红票下载地址")
    private String redPdfUrl;

    @ApiModelProperty(value = "状态 1:待开票2:开票成功3:开票失败4:作废")
    private Integer status;

    @ApiModelProperty(value = "扩展字段1")
    private String expand1;

    @ApiModelProperty(value = "扩展字段2")
    private String expand2;

    @ApiModelProperty(value = "扩展字段3")
    private String expand3;

    @ApiModelProperty(value = "版本号")
    @Version
    private Long version;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "创建人")
    private Long createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    private Long updateUser;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;


    public static final String RECORD_ID = "record_id";

    public static final String INVOICE_AMOUNT = "invoice_amount";

    public static final String BLUE_INVOICE_ID = "blue_invoice_id";

    public static final String RED_INVOICE_ID = "red_invoice_id";

    public static final String INVOICE_TITLE = "invoice_title";

    public static final String INVOICE_TYPE = "invoice_type";

    public static final String INVOICE_ORDER_IDS = "invoice_order_ids";

    public static final String EMAIL = "email";

    public static final String CUSTOMER_IDENTIFIER = "customer_identifier";

    public static final String BANK_NAME = "bank_name";

    public static final String BANK_ACCOUNT = "bank_account";

    public static final String REGISTE_ADDRES = "registe_addres";

    public static final String REGISTE_PHONE = "registe_phone";

    public static final String INVOICE_REMARK = "invoice_remark";

    public static final String RECEIVE_NAME = "receive_name";

    public static final String RECEIVE_MOBILE = "receive_mobile";

    public static final String BLUE_INVOICE_CODE = "blue_invoice_code";

    public static final String BLUE_INVOICE_NUM = "blue_invoice_num";

    public static final String BLUE_VERIFY_CODE = "blue_verify_code";

    public static final String BLUE_PDF_URL = "blue_pdf_url";

    public static final String RED_INVOICE_CODE = "red_invoice_code";

    public static final String RED_INVOICE_NUM = "red_invoice_num";

    public static final String RED_VERIFY_CODE = "red_verify_code";

    public static final String RED_PDF_URL = "red_pdf_url";

    public static final String STATUS = "status";

    public static final String EXPAND1 = "expand1";

    public static final String EXPAND2 = "expand2";

    public static final String EXPAND3 = "expand3";

    public static final String VERSION = "version";

    public static final String DELETED = "deleted";

    public static final String CREATE_USER = "create_user";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER = "update_user";

    public static final String UPDATE_TIME = "update_time";

}
